A Flexible Approach to Interactive Runtime Inspection
نویسندگان
چکیده
Behavioral reflection is well-known approach enabling exhaustive querying of program state (introspection) as well as controlling its execution (intercession). It is hence an adequate foundation for runtime inspection. Partial behavioral reflection aims at making behavioral reflection more applicable by providing high levels of selectivity and configurability. We first outline the main features of partial behavioral reflection and of Reflex—our portable Java implementation. We then sketch how we plan to apply such an approach to provide an interactive environment for runtime inspection, which, in particular, could be used to assist in reflective and aspect-oriented programming. 1 Partial Behavioral Reflection for Java 1.1 Reflection and Behavioral Reflection Reflection in programming languages is a paradigm that has emerged from the studies of Brian Smith around the foundations of consciousness and selfreferences, and his work around the application of these concepts to computer science, down to the implementation of a reflective Lisp dialect [1]. These ideas were then applied to various programming paradigms, including object-oriented programming [2] and had a major impact on languages such as CLOS [3] and Smalltalk [4]. In an object-oriented language, reflection is provided through a MetaObject Protocol (MOP), which is an object-oriented “interface” to the language implementation [3]. The basic property of reflection is to support metacomputations, that is, computations about computations. This is done by separating metacomputations and base computations into two different levels, the metalevel and the base level. These levels are causally connected. This means that, on the one hand, a reflective program running at the base level has access to its representation at the metalevel, and that, on the other hand, a modification of this representation will affect further base computations. Depending on which part of the representation is accessed, the part describing the (static) structure of the program, or the part describing its (dynamic) behavior, reflection is said to be structural or behavioral.
منابع مشابه
Manipulation Control of a Flexible Space Free Flying Robot Using Fuzzy Tuning Approach
Cooperative object manipulation control of rigid-flexible multi-body systems in space is studied in this paper. During such tasks, flexible members like solar panels may get vibrated that in turn may lead to some oscillatory disturbing forces on other subsystems, and consequently produces error in the motion of the end-effectors of the cooperative manipulating arms. Therefore, to design and dev...
متن کاملAn Interactive Process Meta Model for Runtime User Interface Generation and Adaptation
Complex and distributed interactive systems today – in this case mainly in production and supply chain management – rely strongly on defined processes but as well on flexible interaction and dynamic adaptation. We describe an interactive process model that allows recognizing and deriving interactions with users on runtime. The model can be dynamically adapted to fit new requirements or offer ad...
متن کاملShelbySim: A Transparent, Pedagogy-Oriented Simulator for Computer-Based Systems
ShelbySim is a student-friendly, pedagogy-oriented, open-source software system for designing, simulating, and evaluating a wide range of multidisciplinary, computer-based engineering applications. It consists of three top-level, seamlessly integrated and richly expressive components that focus on software, hardware, and a holistic combination of the two in realistic operational contexts. The s...
متن کاملAutomatic Service Composition Based on Graph Coloring
Web services as independent software components are published on the Internet by service providers and services are then called by users’ request. However, in many cases, no service alone can be found in the service repository that could satisfy the applicant satisfaction. Service composition provides new components by using an interactive model to accelerate the programs. Prior to service comp...
متن کاملReal-time Scheduling of a Flexible Manufacturing System using a Two-phase Machine Learning Algorithm
The static and analytic scheduling approach is very difficult to follow and is not always applicable in real-time. Most of the scheduling algorithms are designed to be established in offline environment. However, we are challenged with three characteristics in real cases: First, problem data of jobs are not known in advance. Second, most of the shop’s parameters tend to be stochastic. Third, th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003